package clubs.fcf.cat;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;

import org.apache.commons.lang3.StringUtils;

import com.opencsv.CSVWriter;

import fcf.cat.Config;
import fcf.cat.Exportar;
import fcf.cat.Importar;
import fcf.cat.Utils;

public class Clubs {
	
	public static String newLine = "\n";
	public static String splitBy = ";";

	/**
	* 
	*/
	public static void init() throws IOException, SQLException {
		
		Exportar.MysqlToCsv(Config.BD_FFCATALUNYA+".nfg_clubes",Config.CLUBES_CSV,splitBy,newLine); //Exportamos datos de la vista a csv
		tratarCSV();
		Importar.CsvToMysql(Config.BD_RELACIONES,"clubes","rel_clubes.csv",splitBy,newLine);
		
	}
	
	/**
	* Modifica el csv con los datos de cada registro que ira a relaciones.equipos
	*/
	public static void tratarCSV() {
		 
		String csvFile = Config.CSV_FOLDER+Config.CLUBES_CSV;

		BufferedReader br = null;
		String line = newLine;
		String cvsSplitBy = splitBy;
		 
		try {
		 
			br = new BufferedReader(new FileReader(csvFile));
			String data = "";
			
			int i = 1;
			Utils.linea("Modificando CSV clubes....");
			
			while ((line = br.readLine()) != null) {
			 
				String[] aux = line.split(cvsSplitBy);

				String cod_club = aux[1];
				String nombre_club = Utils.eliminarValor("\"","",aux[3]);
				nombre_club = Utils.eliminarValor("\"","",nombre_club);
				String nombre_club_url = Utils.validarString(aux[3]);
				nombre_club_url = Utils.eliminarUltimoCaracter(nombre_club_url);
				String domicilio = Utils.eliminarValor("\"","",aux[6]);
				String localidad = Utils.eliminarValor("\"","",aux[7]);
				String codigo_provincia = aux[8];
				String codigo_postal = Utils.eliminarValor("\"","",aux[9]);
				String contacto = Utils.eliminarValor("\"","",aux[10]);
				String telefono = Utils.eliminarValor("\"","",aux[11]);
				String fax = Utils.eliminarValor("\"","",aux[12]);
				String camiseta = Utils.eliminarValor("\"","",aux[13]);
				String pantalon = Utils.eliminarValor("\"","",aux[14]);
				String medias = Utils.eliminarValor("\"","",aux[15]);
				String segunda_camiseta = Utils.eliminarValor("\"","",aux[16]);
				String segundo_pantalon = Utils.eliminarValor("\"","",aux[17]);
				String segundas_medias = Utils.eliminarValor("\"","",aux[18]);
				
				data+=cod_club+";"+nombre_club+";"+nombre_club_url+";"+domicilio+";"+localidad+";"+codigo_provincia+";"+codigo_postal+";"+contacto+";"+telefono+";"+fax+";"+camiseta+";"+pantalon+";"+medias+";"+segunda_camiseta+";"+segundo_pantalon+";"+segundas_medias+"\n";
				i++;
			 }
			
			crearCSV(data); //creamos csv equipos que importaremos a la base de datos
			Utils.linea("Relaciones.clubes: "+i+" de registros creados "+Config.CSV_FOLDER+Config.EQUIPOS_CSV);
					 
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	/**
	* 
	* @param data
	*/
	public static void crearCSV(String data){
			 
		CSVWriter writer = null;
				
	    try {
			writer = new CSVWriter(new FileWriter(Config.CSV_FOLDER+"rel_clubes.csv"), '\n', CSVWriter.NO_QUOTE_CHARACTER);
		} catch (IOException e1) {
			e1.printStackTrace();
		}

		String[] entries = data.split("\n");
		writer.writeNext(entries);
		
		try {
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
